When a computer system is booted, a central processing unit (CPU) executes a basic input/output system (BIOS) program that is stored in an external memory. An example of the external memory is a non-volatile memory. The BIOS program includes the basic firmware program codes of the hardware components of the motherboard. During the process of booting the computer system, the BIOS program is executed to perform a power on self-test (POST), perform an initiating task, record the settings of the computer system, provide a resident program library, or the like.
FIG. 1 is a schematic functional block diagram illustrating a computer system with a single BIOS program according to the prior art. As shown in FIG. 1, the computer system comprises a central processing unit (CPU) 12, a north bridge chip 14, a south bridge chip 16 and a BIOS external memory 18. The BIOS external memory 18 is used for storing a BIOS program. After an activation button of the computer system is depressed, the CPU 12 executes the BIOS program and thus an initiating task is performed. During the initiating task, the hardware information of the computer system will be detected. The hardware information includes for example CPU information, a booting sequence, a hard disk size, a working status of the chipset, a memory clock, or the like. At the same time, the BIOS program is executed to initiate some basic hardware components, including a computer memory, a video card or graphics card, and a motherboard chipset, and then perform a power on self-test (POST). After the power on self-test (POST) is implemented, the BIOS program successfully boots the computer system and thus the operating system of the computer system is activated.
In other words, the BIOS program could be deemed as a micro kernel operating system for communicating with hardware components. With rapid development of the computers, the software for use in the computer system is increasingly improved. In many situations, the motherboard manufacturer usually provides an update version of the BIOS program. By manually executing the update version of the BIOS program, the computer system will achieve better compatibility and performance in order to avoid some possible expected errors. For example, after the update version of the BIOS program is executed, the updated CPU is supported or the memory compatibility is enhanced. However, there are some possible risks during the process of refreshing the BIOS program. If the BIOS program is not successfully refreshed, the BIOS program may suffer a breakdown and thus the computer system fails to be booted. For obviating the drawbacks, the computer system needs to be returned to the depot service, which is very troublesome to the user.
FIG. 2 is a schematic functional block diagram illustrating a computer system with two BIOS programs according to the prior art. As shown in FIG. 2, the computer system comprises a central processing unit (CPU) 28, a north bridge chip 30, a south bridge chip 32, a first BIOS external memory 36, a second BIOS external memory 38 and a BIOS program switching circuit 34.
A main BIOS program is stored in the first BIOS external memory 36. An auxiliary backup BIOS program is stored in the second BIOS external memory 38. In a case that the main BIOS program stored in the first BIOS external memory 36 is erroneous, a read command issued by the CPU 28 will be transmitted to the second BIOS external memory 38 through the BIOS program switching circuit 34. At the same time, the CPU 28 executes the auxiliary backup BIOS program that is stored in the second BIOS external memory 38. As such, the computer system could be successfully booted.
In other words, if the process of refreshing the main BIOS program has failure and the main BIOS program is damaged, the BIOS program switching circuit 34 will switch to the second BIOS external memory 38. As such, the auxiliary backup BIOS program is executed and the computer system is successfully booted.
In a case that the user does not realize that the main BIOS program is damaged but the process of refreshing the auxiliary backup BIOS program is performed, some problems possibly occur. For example, if the process of refreshing the auxiliary backup BIOS program also has failure, both of these two BIOS programs fail to be executed to boot the computer system. For obviating the drawbacks, the computer system needs to be returned to the depot service, which is very troublesome to the user.